iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
Mobile Development

SwiftUI快速入門30天系列 第 8

Day8 - TextField、`Button` 和 Picker,建立互動式 UI 控件

  • 分享至 

  • xImage
  •  

要建立一個包含 TextFieldButtonPicker 的互動式 UI 控件,可以使用 SwiftUI 中的基本組件。以下是這些控件的範例程式碼:

import SwiftUI

struct InteractiveUI: View {
    @State private var textFieldInput: String = ""
    @State private var selectedOption: String = "Option 1"
    @State private var pickerSelection: Int = 0
    
    let pickerOptions = ["Option 1", "Option 2", "Option 3"]
    
    var body: some View {
        VStack(alignment: .leading, spacing: 20) {
            // TextField for user input
            TextField("Enter text here", text: $textFieldInput)
                .textFieldStyle(RoundedBorderTextFieldStyle())
                .padding()
            
            // Button to perform an action
            Button(action: {
                // Action to perform on button tap
                print("Button tapped with input: \(textFieldInput) and selection: \(selectedOption)")
            }) {
                Text("Submit")
                    .padding()
                    .background(Color.blue)
                    .foregroundColor(.white)
                    .cornerRadius(8)
            }
            
            // Picker to select an option
            Picker("Select an option", selection: $pickerSelection) {
                ForEach(0..<pickerOptions.count) { index in
                    Text(pickerOptions[index])
                }
            }
            .pickerStyle(SegmentedPickerStyle())
            .padding()
            
            // Displaying the selected option
            Text("Selected option: \(pickerOptions[pickerSelection])")
                .padding(.top)
        }
        .padding()
    }
}

struct InteractiveUI_Previews: PreviewProvider {
    static var previews: some View {
        InteractiveUI()
    }
}

說明:

  1. TextField:

    • 使用 @State 修飾的變數 textFieldInput 來綁定 TextField 的內容。
    • TextField 使用 RoundedBorderTextFieldStyle() 來進行樣式設定。
  2. Button:

    • Button 觸發的動作定義在 action 閉包中,這裡使用 print 來輸出目前的輸入和選擇。
    • 按鈕具有基本的樣式設置,例如背景顏色、文字顏色和圓角。
  3. Picker:

    • Picker 綁定到 @State 修飾的 pickerSelection 變數,來追蹤目前選擇的選項。
    • 使用 SegmentedPickerStyle() 使選擇器顯示為分段控件。
    • 使用 pickerOptions 陣列來提供選項。

https://ithelp.ithome.com.tw/upload/images/20240822/20112100GHzkF8XrBi.png


上一篇
Day7 - SwiftUI中的狀態管理機制
下一篇
Day 9 - List 控件,使用 List 顯示資料列表
系列文
SwiftUI快速入門30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言